package com.panghl.jfreecharts;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtils;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.StandardChartTheme;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;

import java.awt.*;
import java.io.File;
import java.io.IOException;

/**
 * @Author panghl
 * @Date 2022/3/3
 * @Description jfreechart  折线图
 **/
public class JFreeChartsDemo2 {
    public static void main(String[] args) throws IOException {
        //需求： 每年个部门的入职人数
        //1.准备数据   技术部 180  销售部 20  人事部10
        DefaultCategoryDataset dataset = new DefaultCategoryDataset(); //饼状数据集
        dataset.setValue(180,"技术部","2011年");
        dataset.setValue(99,"技术部","2012年");
        dataset.setValue(6,"销售部","2011年");
        dataset.setValue(20,"销售部","2012年");
        dataset.setValue(10,"人事部","2012年");
        dataset.setValue(11,"人事部","2011年");

        StandardChartTheme chartTheme = new StandardChartTheme("CN");
        //设置大标题的字体
        chartTheme.setExtraLargeFont(new Font("楷体",Font.BOLD,20));
        //设置图例的字体
        chartTheme.setRegularFont(new Font("楷体",Font.BOLD,15));
        //设置图片的内容  xy轴
        chartTheme.setLargeFont(new Font("楷体",Font.BOLD,15));
        ChartFactory.setChartTheme(chartTheme);

        //String title, String categoryAxisLabel, String valueAxisLabel, CategoryDataset dataset, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls
        // 大标题      X轴的说明           Y轴的说明           数据集                                                         是否显示图例      是否显示提示(CS架构)    是否跳转(CS架构)
        JFreeChart jfc= ChartFactory.createLineChart("这是折线图标题","公司","入职人数", dataset);
        ChartUtils.saveChartAsPNG(new File("D:\\jfreecharts2.png"),jfc,400,300);
    }
}
